From 6b1a82eca320a2ff05821e26d16dd72978d45e66 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Wed, 22 Aug 2018 17:31:43 +0000
Subject: [PATCH 6/8] add io_pgetevents and rseq syscall numbers from linux
 v4.18

io_pgetevents is new in linux commit 7a074e96dee62586c935c80cecd931431bfdd0be

    This is the io_getevents equivalent of ppoll/pselect and allows to
    properly mix signals and aio completions (especially with IOCB_CMD_POLL)

rseq is new in linux commit d7822b1e24f2df5df98c76f0e94a5416349ff759

    Expose a new system call allowing each thread to register one userspace
    memory area to be used as an ABI between kernel and user-space for two
    purposes: user-space restartable sequences and quick access to read the
    current CPU number value from user-space.
---
 arch/aarch64/bits/syscall.h.in    | 1 +
 arch/arm/bits/syscall.h.in        | 1 +
 arch/i386/bits/syscall.h.in       | 2 ++
 arch/microblaze/bits/syscall.h.in | 2 ++
 arch/mips/bits/syscall.h.in       | 2 ++
 arch/mips64/bits/syscall.h.in     | 2 ++
 arch/mipsn32/bits/syscall.h.in    | 2 ++
 arch/or1k/bits/syscall.h.in       | 1 +
 arch/powerpc/bits/syscall.h.in    | 2 ++
 arch/powerpc64/bits/syscall.h.in  | 2 ++
 arch/s390x/bits/syscall.h.in      | 2 ++
 arch/x32/bits/syscall.h.in        | 2 ++
 arch/x86_64/bits/syscall.h.in     | 2 ++
 13 files changed, 23 insertions(+)

diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index 0d4a9bca..47a969bc 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -274,4 +274,5 @@
 #define __NR_pkey_alloc 289
 #define __NR_pkey_free 290
 #define __NR_statx 291
+#define __NR_io_pgetevents 292
 
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 1920516a..13a3b66c 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -353,6 +353,7 @@
 #define __NR_pkey_alloc	395
 #define __NR_pkey_free	396
 #define __NR_statx	397
+#define __NR_rseq	398
 
 #define __ARM_NR_breakpoint	0x0f0001
 #define __ARM_NR_cacheflush	0x0f0002
diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in
index 27e72fec..47f4ae03 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -382,4 +382,6 @@
 #define __NR_pkey_free		382
 #define __NR_statx		383
 #define __NR_arch_prctl		384
+#define __NR_io_pgetevents	385
+#define __NR_rseq		386
 
diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index dda5218d..f0583961 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -393,4 +393,6 @@
 #define __NR_pkey_alloc 396
 #define __NR_pkey_free 397
 #define __NR_statx 398
+#define __NR_io_pgetevents 399
+#define __NR_rseq 400
 
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index c1e23635..be8c3207 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -364,4 +364,6 @@
 #define __NR_pkey_alloc              4364
 #define __NR_pkey_free               4365
 #define __NR_statx                   4366
+#define __NR_rseq                    4367
+#define __NR_io_pgetevents           4368
 
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index b0fe49b5..f814aa48 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -324,4 +324,6 @@
 #define __NR_pkey_alloc			5324
 #define __NR_pkey_free			5325
 #define __NR_statx			5326
+#define __NR_rseq			4327
+#define __NR_io_pgetevents		4328
 
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index 70c5d0b8..c1726180 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -328,4 +328,6 @@
 #define __NR_pkey_alloc			6328
 #define __NR_pkey_free			6329
 #define __NR_statx			6330
+#define __NR_rseq			6331
+#define __NR_io_pgetevents		6332
 
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 03735e88..76ba2c6e 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -276,4 +276,5 @@
 #define __NR_pkey_alloc 289
 #define __NR_pkey_free 290
 #define __NR_statx 291
+#define __NR_io_pgetevents 292
 
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index 7ce94bbd..54e155f2 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -371,4 +371,6 @@
 #define __NR_pkey_alloc            384
 #define __NR_pkey_free             385
 #define __NR_pkey_mprotect         386
+#define __NR_rseq                  387
+#define __NR_io_pgetevents         388
 
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index 1da1ecc0..4e29cedf 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -362,4 +362,6 @@
 #define __NR_pkey_alloc             384
 #define __NR_pkey_free              385
 #define __NR_pkey_mprotect          386
+#define __NR_rseq                   387
+#define __NR_io_pgetevents          388
 
diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
index 409e9155..85a18e79 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -324,4 +324,6 @@
 #define __NR_statx                      379
 #define __NR_s390_sthyi                 380
 #define __NR_kexec_file_load            381
+#define __NR_io_pgetevents              382
+#define __NR_rseq                       383
 
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index 23ef4472..67d89f91 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -284,6 +284,8 @@
 #define __NR_pkey_alloc (0x40000000 + 330)
 #define __NR_pkey_free (0x40000000 + 331)
 #define __NR_statx (0x40000000 + 332)
+#define __NR_io_pgetevents (0x40000000 + 333)
+#define __NR_rseq (0x40000000 + 334)
 
 #define __NR_rt_sigaction (0x40000000 + 512)
 #define __NR_rt_sigreturn (0x40000000 + 513)
diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in
index bffcc4ee..9cdb7789 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -331,4 +331,6 @@
 #define __NR_pkey_alloc				330
 #define __NR_pkey_free				331
 #define __NR_statx				332
+#define __NR_io_pgetevents			333
+#define __NR_rseq				334
 
-- 
2.17.1

